Media streams are transmitted and stored over various networks and devices. In order to provide high resolution color images in an efficient manner the image must be dramatically compressed. Various methods for compressing and decoding media streams have emerged. A group of compression standards was developed by the Moving Picture Expert Group. These standards are known in the art as the MPEG family. Each MPEG standard defines a method for compressing and transmitting audio-visual information according to predefined timing schemes that allow displaying audio visual content embedded within media streams.
Raw video streams are provided to an MPEG encoder. An array of 8×8 pixels are Discrete Cosine Transformed to provide a block of 8×8 DCT coefficient blocks. The DCT coefficient blocks are assembled to macroblocks. The macroblocks are assembled to slices, that represent a horizontal strip of a picture. The strips are combined to make a picture. Each picture has a header.
A picture header includes picture type information, indicating whether the picture is I-picture, P-picture or B-picture. Pictures can be arranged as Group of Pictures (GOPs). A sequence of GOPS forms a video elementary stream. Video and audio elementary streams may be multiplexed to provide a transport stream or a program stream.
In Transport streams, the elementary streams are packetized to PES packets. Each PES packet includes a header that includes a stream ID. The PES header also includes timing information such as PTS and DTS that define when the pictures are to be available to a viewer and when pictures are to be provided to a decoder, prior to said presentation.
I-pictures are independent in the sense that they include the entire information that is required for displaying a picture. A P-picture is decoded in response to information embedded within a previous picture (backward prediction), while a B-pictures is decoded in response to information embedded within both a preceding (backward prediction) and succeeding picture (forward prediction).
The encoding process of each dependent picture (P-picture, and B-picture) includes searching, for each macroblock in the dependent picture, a best matching set of pixels in the reference picture. The spatial relationship between the macroblock and set of pixels (referred to a motion vector) as well as the difference information (also referred to as prediction error or as error information) between the macroblock and set of pixels are included within the dependent picture. It is noted that the prediction error is also processed by performing various stages including applying a DCT transform.
Many end users have legacy analog VCRs. They are able to record the analog transmissions on a magnetic medium and then review the recorded programs while performing various video manipulations such as fast forward (FF), fast reverse (REW), play (PLAY) and pause (PAUSE).
The quality of analog recorded programs is relatively low in comparison to the digitally transmitted programs. Furthermore, analog VCR cassettes are relatively large.
Due to these disadvantages various digital based solutions were developed. A first solution includes installing a Personal Video Recorder (PVR) device at the end user premises. The PVR allows the end user to store a program in MPEG format, thus defining a stored program. The stored program may be manipulated to provide FF and REW modes. This solution is costly as it requires dedicated hardware. Accordingly, operators want to implement a PVR-like solution at their plant.
Another solution is based upon service provider equipment. The solution may include near video on demand, true video on demand and the like. The various types of video on demand services (and systems) are collectively referred to as video on demand services (and systems). Video on demand systems are based upon a provision of programs to viewers over communication networks such as Hybrid Fiber Coax (HFC) networks. It is noted that networks other than HFC networks can be used.
Near video on demand systems allow a user to purchase or rent pre-stored programs such as movies and the like, using a broadcast technique known as staggered time. The same program is transmitted at predefined time intervals and a user can receive a program or skip between programs that are delayed by predefined delay periods.
True video on demand (TVOD) does not have the strict delay limitations of the near video on demand. A true video on demand service provides the end user with full-functional VCR capabilities, including forward and reverse play, freeze, and random positioning.
In order to allow an end user to control the display of the TVOD media stream the service provider allocates a single channel for that end-user at a certain time.
Many service providers provide various services including TVOD, home shopping, interactive games and the like.
The provision of the additional service is complex and costly as it requires to develop relatively complicated set top box software, service provider software and also to provide hardware that can support an exchange of many signals between the service provider and the end users.
Various method for providing video on demand and/or interactive services are illustrated in the following patents and patent applications, which are all incorporated herein by reference: U.S. Pat. No. 6,201,536 of Hendricks et al.; U.S. Pat. No. 6,668,377 of Dunn, U.S. Pat. No. 6,065,050 of DeMoney; U.S. Pat. No. 6,502,139 of Birk, et al.; U.S. Pat. No. 6,438,596 of Ueno et al.; U.S. Pat. No. 6,622,305 of Wilard; U.S. Pat. No. 6,701,528 of Arsenault, et al.; U.S. patent application publication No. 2004/0046780 of Beaton et al.; European patent applications EP 0804028 of Ebihara and EP 1028588A1 of Inoue et al., and PCT patent application WO99/291108 of Fransmae et al.
Modern service providers are forced to scale their infrastructure in order to provide services to a growing amount of end users. This infrastructure is also supposed to store more media content than in the past and to provide media content in various manners, including media streaming.
In order to provide TVOD service the service provider infrastructure (TVOD infrastructure) usually includes one or more VOD servers that execute a back office VOD software. This software can perform asset management functions, implement media content provision and reception rules. In addition, the software usually allows the VOD server to acquire pre-recorded media streams and to transmit the media streams to set top boxes, in response to media manipulation signals provided by the end user.
Modern service providers are facing a rapid increment in the number of end users, a dramatic increment in the amount of services that are provided to end users, a grooving complexity level of additional services. Accordingly there is a need to provide an efficient system and method for providing VOD and interactive services.